Opening Pandora's Box: Using Binary Code Rewrite to Bypass License Checks

Tevfik Kosar, Mihai Christodorescu, Robert Iverson

April 8, 2003
Hide the Contact Info
Photo of Mihai Christodorescu
Mihai Christodorescu
Doctoral Candidate
1210 W Dayton St
Office 7372
Madison, WI 53706-1685
Curriculum vitæ: online PDF US letter (or A4)
[an error occurred while processing this directive]
Telephone: +1 608 262-6625
Fax: +1 608 262-9777
Website: http://www.cs.wisc.edu/~mihai/
Email: mihai@cs.wisc.edu
ICQ: 3954659
AIM: yodMihai
Yahoo! IM: warkda
Skype: warkdarrior
LinkedIn: view my profile
Google Chat/XMPP: mihaic@gmail.com

This paper is a result of research work on software protection and is published as Technical Report # 1479 at the Department of Computer Sciences, University of Wisconsin, Madison.

Downloads:

Abstract

A common method of enforcing software license terms is for a program to contact another program, called a license server, and ask for permission to run. This project attempts to bypass these license checks in a commercial product through runtime code modification, using the DynInst library.

The programs chosen as victims for this study are Adobe FrameMaker, the Purify family of programs, and MatLab. We successfully bypass the FrameMaker licensing checks, allowing full use of the product when the license server is unavailable. Limitations in DynInst prevent similar results with Purify or MatLab. A set of powerful tools has been developed and used in the process, and their generality should simplify similar license bypassing efforts on other software products.

Copyright © 1998-2005 Mihai Christodorescu. All rights reserved.
Maintained by Mihai Christodorescu (http://www.cs.wisc.edu/~mihai).
Created: Mon Jan 02 20:59:11 2006
Last modified: Sat Sep 30 10:53:39 CDT 2006